home *** CD-ROM | disk | FTP | other *** search
- _global.EventBroadcaster = new Object();
- EventBroadcaster.initialize = function(obj)
- {
- var _loc1_ = obj;
- var _loc2_ = this;
- _loc1_._listeners = new Array();
- _loc1_.broadcastMessage = _loc2_._broadcastMessage;
- _loc1_.addListener = _loc2_._addListener;
- _loc1_.removeListener = _loc2_._removeListener;
- _loc1_.clearListeners = _loc2_._clearListeners;
- };
- EventBroadcaster._broadcastMessage = function()
- {
- var _loc3_ = arguments.shift();
- var _loc2_ = this._listeners;
- var _loc1_ = _loc2_.length;
- while(true)
- {
- _loc1_;
- if(!_loc1_--)
- {
- break;
- }
- _loc2_[_loc1_][_loc3_].apply(_loc2_[_loc1_],arguments);
- }
- };
- EventBroadcaster._addListener = function(obj)
- {
- this.removeListener(obj);
- this._listeners.push(obj);
- return true;
- };
- EventBroadcaster._removeListener = function(obj)
- {
- var _loc3_ = obj;
- var _loc2_ = this._listeners;
- var _loc1_ = _loc2_.length;
- while(true)
- {
- _loc1_;
- if(!_loc1_--)
- {
- break;
- }
- if(_loc2_[_loc1_] == _loc3_)
- {
- _loc2_.splice(_loc1_,1);
- return true;
- }
- }
- return false;
- };
- EventBroadcaster._clearListeners = function()
- {
- this._listeners = new Array();
- };
-